gtk4.git
10 years agotest-simplify: Explicitly use bash
Matthias Clasen [Sun, 20 Sep 2015 16:17:12 +0000 (12:17 -0400)]
test-simplify: Explicitly use bash

The script uses bash features, after all.

https://bugzilla.gnome.org/show_bug.cgi?id=755274

10 years agoUpdated Japanese translation
Jiro Matsuzawa [Sun, 20 Sep 2015 16:03:11 +0000 (01:03 +0900)]
Updated Japanese translation

10 years agoUpdated Danish translation
Ask Hjorth Larsen [Sun, 20 Sep 2015 14:47:36 +0000 (14:47 +0000)]
Updated Danish translation

10 years agoUpdated Swedish translation
Josef Andersson [Sun, 20 Sep 2015 10:09:25 +0000 (10:09 +0000)]
Updated Swedish translation

10 years agoUpdated Greek translation
Tom Tryfonidis [Sun, 20 Sep 2015 10:09:06 +0000 (10:09 +0000)]
Updated Greek translation

10 years agoUpdated Japanese translation
Hajime Taira [Sun, 20 Sep 2015 08:38:08 +0000 (17:38 +0900)]
Updated Japanese translation

10 years agoUpdated Brazilian Portuguese translation
Rafael Fontenelle [Sat, 19 Sep 2015 21:20:41 +0000 (21:20 +0000)]
Updated Brazilian Portuguese translation

10 years agoUpdated Brazilian Portuguese translation
Rafael Fontenelle [Sat, 19 Sep 2015 18:17:16 +0000 (18:17 +0000)]
Updated Brazilian Portuguese translation

10 years agogtkdemo: Plug leaks in listbox demo
Timm Bäder [Sat, 19 Sep 2015 17:27:24 +0000 (19:27 +0200)]
gtkdemo: Plug leaks in listbox demo

10 years agoUpdated Danish translation
Ask Hjorth Larsen [Sat, 19 Sep 2015 16:53:52 +0000 (16:53 +0000)]
Updated Danish translation

10 years agoUpdated Brazilian Portuguese translation
Rafael Fontenelle [Sat, 19 Sep 2015 12:26:08 +0000 (12:26 +0000)]
Updated Brazilian Portuguese translation

10 years agoUpdated Brazilian Portuguese translation
Felipe Braga [Sat, 19 Sep 2015 10:37:26 +0000 (10:37 +0000)]
Updated Brazilian Portuguese translation

10 years agoUpdated Russian translation
Stas Solovey [Fri, 18 Sep 2015 22:05:39 +0000 (22:05 +0000)]
Updated Russian translation

10 years agoUpdated Russian translation
Stas Solovey [Fri, 18 Sep 2015 21:12:42 +0000 (21:12 +0000)]
Updated Russian translation

10 years agoRevert "gtkwidget: Ensure unrealization during event dispatching cancels gestures"
Carlos Garnacho [Fri, 18 Sep 2015 10:59:00 +0000 (12:59 +0200)]
Revert "gtkwidget: Ensure unrealization during event dispatching cancels gestures"

This reverts commit 13873d2c507783042df55ad2c48f37a346121fd0.

10 years agoRevert "widget: Fix propagation of gesture cancellation on widget unrealize/destroy"
Carlos Garnacho [Fri, 18 Sep 2015 10:57:26 +0000 (12:57 +0200)]
Revert "widget: Fix propagation of gesture cancellation on widget unrealize/destroy"

This reverts commit 3aaf730901d04a3e4a102cb95e769a48ec5027e3.

10 years agoRevert "widget: Cancel also denied sequences"
Carlos Garnacho [Fri, 18 Sep 2015 10:57:04 +0000 (12:57 +0200)]
Revert "widget: Cancel also denied sequences"

This reverts commit 63e255e7b5326888e83bf84f1147012938c81000.

10 years agowindow: Reset on unhandled gestures right away
Carlos Garnacho [Thu, 17 Sep 2015 21:22:39 +0000 (23:22 +0200)]
window: Reset on unhandled gestures right away

Traditionally a sequence is set to GTK_EVENT_SEQUENCE_DENIED state when
it is to be ignored, which means it is dormant, but still managed by the
gesture (accounting, "denied" sequences still make "slots" in multitouch
gesture busy, etc...).

This gesture will run for all button presses and releases in the window
though when presses happen on the "window content" region, and we can't
account for every children to be as educated as setting the proper mask
on every window, or ensuring events will be propagated as they should.

In order to cater for this, just reset the gestures, we can live without
such accounting in these specific GtkGestureSingle gestures.

https://bugzilla.gnome.org/show_bug.cgi?id=754098

10 years agogdk: Mark window surfaces as dirty before reading from them
Benjamin Otte [Fri, 18 Sep 2015 00:04:10 +0000 (02:04 +0200)]
gdk: Mark window surfaces as dirty before reading from them

We do not know what happened to this surface outside of GDK.
Especially for foreign windows, they will have been modified
by external applications.

So be on the safe side and tell Cairo to clear all its caches.

https://bugzilla.gnome.org/show_bug.cgi?id=754952

10 years agoUpdated Turkish translation
Muhammet Kara [Thu, 17 Sep 2015 18:05:49 +0000 (18:05 +0000)]
Updated Turkish translation

10 years agoUpdated Lithuanian translation
Aurimas Černius [Thu, 17 Sep 2015 17:28:47 +0000 (20:28 +0300)]
Updated Lithuanian translation

10 years agoUpdated Hungarian translation
Balázs Úr [Thu, 17 Sep 2015 14:02:09 +0000 (14:02 +0000)]
Updated Hungarian translation

10 years agoMSVC Builds: Make Re-use Comment in Autotools Module Clearer
Chun-wei Fan [Thu, 17 Sep 2015 01:19:10 +0000 (09:19 +0800)]
MSVC Builds: Make Re-use Comment in Autotools Module Clearer

10 years agopixelcache: use factor instead of margin
Christian Hergert [Mon, 14 Sep 2015 04:08:57 +0000 (21:08 -0700)]
pixelcache: use factor instead of margin

Instead of using a fixed size, use a factor of the surface size. This
helps in situations where animations of surrounding widgets are used
and cause a rapid rate of surface destroy/create cycles.

10 years agoUpdated French translation
Claude Paroz [Wed, 16 Sep 2015 17:03:15 +0000 (19:03 +0200)]
Updated French translation

10 years agowayland: Avoid running stale cursor animation timeouts
Carlos Garnacho [Wed, 16 Sep 2015 10:21:36 +0000 (12:21 +0200)]
wayland: Avoid running stale cursor animation timeouts

gdk_wayland_device_update_window_cursor() is inconsistently returning
TRUE/FALSE, despite the timeout being always replaced for new cursor
frames. This could end up in these timeouts being "leaked" and running
as long as the window has an animated cursor.

Fix this by making it really sure we return G_SOURCE_REMOVE, although
now we keep track of animation delays, so the timeout will be reused
for constant time animations.

10 years agowidget: Cancel also denied sequences
Carlos Garnacho [Wed, 16 Sep 2015 10:08:46 +0000 (12:08 +0200)]
widget: Cancel also denied sequences

It makes no sense to skip denied sequences here, the gestures are
still carrying out the accounting for these, which must be also put
to an end if we're possibly not receiving any further events from
this sequence.

https://bugzilla.gnome.org/show_bug.cgi?id=754098

10 years agowidget: Fix propagation of gesture cancellation on widget unrealize/destroy
Carlos Garnacho [Wed, 16 Sep 2015 10:06:46 +0000 (12:06 +0200)]
widget: Fix propagation of gesture cancellation on widget unrealize/destroy

At the time event_check_cancel_sequence_on_hierarchy() is called, the widget
has been already unparented. Given the widget itself is being destroyed,
cancellation on it is impending in one way or another, we still must
propagate cancellation across all parents, so retrieve it early before
possible widget destruction.

https://bugzilla.gnome.org/show_bug.cgi?id=754098

10 years agoscrolledwindow: Set the scrollbar as "over" immediately during slider grabs
Carlos Garnacho [Tue, 15 Sep 2015 15:18:20 +0000 (17:18 +0200)]
scrolledwindow: Set the scrollbar as "over" immediately during slider grabs

Otherwise it's attempted through a timeout, which gets cancelled early after,
and the slider disappears after a while with no mouse activity despite the
ongoing implicit grab.

Once the grab is finished, check_update_scrollbar_proximity() will be called
again on both scrollbars, and the fade out animation will be triggered as a
result.

https://bugzilla.gnome.org/show_bug.cgi?id=754745

10 years agofile chooser: Avoid a crash
Matthias Clasen [Wed, 16 Sep 2015 14:39:19 +0000 (07:39 -0700)]
file chooser: Avoid a crash

When right-clicking in an empty folder, you should get a context
menu, not a crash. The code for positioning the popover was not
handling the eventuality of no row under the pointer. Just position
the popover right at the click location in this case.

https://bugzilla.gnome.org/show_bug.cgi?id=755021

10 years agowidget path: Don't leak sibling paths
Matthias Clasen [Tue, 15 Sep 2015 23:31:00 +0000 (19:31 -0400)]
widget path: Don't leak sibling paths

10 years agoPlug another memory leak
Matthias Clasen [Tue, 15 Sep 2015 14:54:29 +0000 (10:54 -0400)]
Plug another memory leak

10 years agoPlug a memory leak
Matthias Clasen [Tue, 15 Sep 2015 14:32:02 +0000 (10:32 -0400)]
Plug a memory leak

10 years agoUpdate Persian translation
Arash Mousavi [Tue, 15 Sep 2015 16:45:46 +0000 (21:15 +0430)]
Update Persian translation

10 years agoUpdate Persian translation
Arash Mousavi [Tue, 15 Sep 2015 16:39:21 +0000 (21:09 +0430)]
Update Persian translation

10 years agocss shadows: Cache blured masks for the corners of outset shadows
Alexander Larsson [Tue, 15 Sep 2015 14:02:10 +0000 (16:02 +0200)]
css shadows: Cache blured masks for the corners of outset shadows

A lot of time was spend rendering the shadows on windows with CSD, in
particular the corner pieces, since they are the largest parts. This
patch catches this particular case and caches the pre-rendered blur
masks.

This makes the shadow code go from 25% to 8% of the time when resizing
gtk3-demo.

10 years agocss shadows: Break out side & corner shadows into helper functions
Alexander Larsson [Tue, 15 Sep 2015 09:46:57 +0000 (11:46 +0200)]
css shadows: Break out side & corner shadows into helper functions

This changes nothing, but makes the code a bit easier to read

10 years agoui: Remove border from dialogs again
Timm Bäder [Tue, 15 Sep 2015 12:03:37 +0000 (14:03 +0200)]
ui: Remove border from dialogs again

10 years agoMSVC Builds: "Add" Visual Studio 2015 Projects
Chun-wei Fan [Tue, 15 Sep 2015 11:40:48 +0000 (19:40 +0800)]
MSVC Builds: "Add" Visual Studio 2015 Projects

"Add" Visual Studio 2015 projects by what we did before: Copy the Visual
Studio 2010 project files and replace the items in there as needed, as
the formats of the 2010 and 2015 projects are largely the same.

10 years agogtk-demo: Fix drawing of gestures demo feedback on CSD windows
Carlos Garnacho [Tue, 15 Sep 2015 11:19:31 +0000 (13:19 +0200)]
gtk-demo: Fix drawing of gestures demo feedback on CSD windows

It was wiping the translation initially applied to the cairo_t, so
pick that up first before applying our own matrix changes.

10 years agoMSVC Builds: Remove Old MSVC Project-Related Files
Chun-wei Fan [Mon, 20 Jul 2015 09:30:18 +0000 (17:30 +0800)]
MSVC Builds: Remove Old MSVC Project-Related Files

Since we have the new files, remove the old ones.

10 years agoMSVC Builds: Massive Rename of Projects
Chun-wei Fan [Tue, 25 Aug 2015 09:41:55 +0000 (17:41 +0800)]
MSVC Builds: Massive Rename of Projects

We need to rename the projects so that when these projects are added
into an all-in-one solution file that will build the GTK+ 2/3 stack,
the names of the projects will not collide with the GTK+-2.x ones,
especially as GTK+-2.x and GTK+-3.x are done to co-exist on the same
system.  This is due to the case that the MSVC projects are directly
carried over from the GTK+-2.x ones and was then updated for 3.x.

We still need to update the GUIDs of the projects, so that they won't
conflict with the GTK+-2.x ones.

10 years agoMSVC Builds: Remove the Old Static Projects
Chun-wei Fan [Tue, 15 Sep 2015 10:49:49 +0000 (18:49 +0800)]
MSVC Builds: Remove the Old Static Projects

Remove the static projects that were supereceded by the templates, which
are used to generate the complete projects during 'make dist'.

https://bugzilla.gnome.org/show_bug.cgi?id=681965

10 years agoRevert "MSVC Builds: Remove Old MSVC Project-Related Files"
Chun-wei Fan [Tue, 15 Sep 2015 10:40:19 +0000 (18:40 +0800)]
Revert "MSVC Builds: Remove Old MSVC Project-Related Files"

Sorry, pushed the patch in the wrong order, should be done with
the renaming of the projects.

This reverts commit d963bd1d325b2b9f46e0cbaca4b41701ae5c93be.

10 years agoMSVC Builds: Remove Old MSVC Project-Related Files
Chun-wei Fan [Mon, 20 Jul 2015 09:30:18 +0000 (17:30 +0800)]
MSVC Builds: Remove Old MSVC Project-Related Files

Since we have the new files, remove the old ones.

10 years agobuild: Clean Up Visual Studio Project Generation
Chun-wei Fan [Fri, 17 Apr 2015 06:47:56 +0000 (14:47 +0800)]
build: Clean Up Visual Studio Project Generation

Use the common automake module from the previous commit in the
Makefile.am's, which means that the Makefile.am's in gdk/ and gtk/ can be
cleaned up as a result.  As a side effect, the property sheet that is used
to "install" the build results and headers can now be generated in terms of
the listing of headers to copy during 'make dist', where we can acquire
most of the list of headers to "install", so that we can largely avoid the
situation where the property sheet files are not updated in time for this,
causing missing headers when this build of GTK+ is being used.

Also use the Visual Studio Project file generation for the following
projects:
gtk3-demo
gtk3-demo-application
gtk3-icon-browser
gdk-win32
gdk-broadway
gail-util

So that the maintenace of these project files can be simplified as well.

https://bugzilla.gnome.org/show_bug.cgi?id=681965

10 years agobuild: Add Common Autotools Module for MSVC Projects
Chun-wei Fan [Tue, 15 Sep 2015 10:33:37 +0000 (18:33 +0800)]
build: Add Common Autotools Module for MSVC Projects

This adds a common autotools module that can be used by various projects to
generate the Visual Studio projects as needed, and if necessary, generate
the headers listings to "install" for that project, based on items passed
in to this.  This is modeled on the Makefile.introspection autotools file
that is used by many GNOME projects to generate the introspection files.

https://bugzilla.gnome.org/show_bug.cgi?id=681965

10 years agoUpdated Spanish translation
Daniel Mustieles [Tue, 15 Sep 2015 10:08:13 +0000 (10:08 +0000)]
Updated Spanish translation

10 years agoconfigure: Require glib >= 2.45.8
Rico Tzschichholz [Tue, 15 Sep 2015 06:23:39 +0000 (08:23 +0200)]
configure: Require glib >= 2.45.8

Needed since 29c799a1e77e441160892366355e9a55aed5df40

10 years agodocs: Add index for 3.18 api
Rico Tzschichholz [Tue, 15 Sep 2015 05:30:36 +0000 (07:30 +0200)]
docs: Add index for 3.18 api

10 years agoAdd missing $(EXEEXT)
Kouhei Sutou [Sun, 6 Sep 2015 08:41:44 +0000 (17:41 +0900)]
Add missing $(EXEEXT)

https://bugzilla.gnome.org/show_bug.cgi?id=754629

10 years ago3.17.9
Matthias Clasen [Mon, 14 Sep 2015 11:09:02 +0000 (07:09 -0400)]
3.17.9

10 years agowayland: Make subsurface desynchronized after first parent surface frame
Jonas Ådahl [Thu, 10 Sep 2015 09:42:21 +0000 (17:42 +0800)]
wayland: Make subsurface desynchronized after first parent surface frame

Initially the subsurface will be in synchronized mode and we will leave
it like this until the first time the parent surface has been committed.
The reason for this is because the subsurface position will be applied
as part of the parent surface state, and we need to synchronize the
initial position with the initial frame, so that we don't accidentally
draw the subsurface at the default position (0, 0) which would happen in
desynchronized mode if the subsurface content is committed before the
next parent surface commit.

https://bugzilla.gnome.org/show_bug.cgi?id=754839

10 years agowindow: Use gtk_widget_queue_resize()
Benjamin Otte [Mon, 14 Sep 2015 18:22:45 +0000 (20:22 +0200)]
window: Use gtk_widget_queue_resize()

_gtk_container_queue_resize() is a private function and probably
shouldn't have even been used in 1999 when this call was originally
added.

10 years agoinspector: Store the parent for the object tree
Benjamin Otte [Mon, 14 Sep 2015 21:32:16 +0000 (23:32 +0200)]
inspector: Store the parent for the object tree

This allows selecting newly added random objects.

https://bugzilla.gnome.org/show_bug.cgi?id=754987

10 years agoUpdated Galician translations
Fran Dieguez [Mon, 14 Sep 2015 20:58:23 +0000 (22:58 +0200)]
Updated Galician translations

10 years agogdkwindow: avoid multiple walking of children list
Christian Hergert [Mon, 14 Sep 2015 19:25:44 +0000 (12:25 -0700)]
gdkwindow: avoid multiple walking of children list

This counts the number of children and fetches the last GList
node at the same time.

10 years agoRevert "print backend: Remove an unneeded variable"
Matthias Clasen [Mon, 14 Sep 2015 17:27:43 +0000 (13:27 -0400)]
Revert "print backend: Remove an unneeded variable"

This reverts commit 9ebebd48b00092446cdbeee03b49f149725c9868.

This change broke the templates testcase, and I don't have time
to poke at why, right now.

10 years agoFix a copy-paste error
Matthias Clasen [Mon, 14 Sep 2015 17:20:36 +0000 (13:20 -0400)]
Fix a copy-paste error

We were notifying can-focus when can-default changes.
Unit tests save the day.

10 years agoUpdated Turkish translation
Muhammet Kara [Mon, 14 Sep 2015 17:59:30 +0000 (17:59 +0000)]
Updated Turkish translation

10 years agoscrolledwindow: Cancel kinetic/overshoot animation on captured scroll events
Carlos Garnacho [Mon, 2 Mar 2015 16:01:21 +0000 (17:01 +0100)]
scrolledwindow: Cancel kinetic/overshoot animation on captured scroll events

This ensures the animation is cancelled if the child widget happens to
GDK_EVENT_STOP scroll events.

https://bugzilla.gnome.org/show_bug.cgi?id=745315

10 years agoentry: Drop the Ctrl-K keybinding
Matthias Clasen [Mon, 14 Sep 2015 15:49:15 +0000 (11:49 -0400)]
entry: Drop the Ctrl-K keybinding

This interferes with a well-loved firefox shortcut, and we
are more interested in a gtk3 firefox than in legacy keybindings.

10 years agogtkwidget: Do not listen to notifications from nonexistent properties
Carlos Garnacho [Mon, 14 Sep 2015 15:33:23 +0000 (17:33 +0200)]
gtkwidget: Do not listen to notifications from nonexistent properties

The GtkEventController event mask is private, and set early by GtkGesture
implementations. Being this private data, there is no corresponding
property, so this code is a no-op, there is just no need to listen to
changes there.

10 years agogtkwidget: Ensure unrealization during event dispatching cancels gestures
Carlos Garnacho [Thu, 10 Sep 2015 12:18:04 +0000 (14:18 +0200)]
gtkwidget: Ensure unrealization during event dispatching cancels gestures

We use to rely on grab broken events for most of the event sequence
lifetime, this breaks though on GDK_BUTTON_RELEASE/GDK_TOUCH_END, as there's
no longer a grab at that time.

For these cases (and all others where there's destroy/unrealize calls
involved during event dispatching), catch this on the late
WIDGET_REALIZED_FOR_EVENT calls on widget event handling functions.

https://bugzilla.gnome.org/show_bug.cgi?id=754098

10 years agogtkwidget: refactor code into separate function
Carlos Garnacho [Thu, 10 Sep 2015 12:16:20 +0000 (14:16 +0200)]
gtkwidget: refactor code into separate function

This "cancel sequence across widget hierarchy" code will be useful
in other places, so take it out to a separate function.

https://bugzilla.gnome.org/show_bug.cgi?id=754098

10 years agoRevert "tool button: Use G_DEFINE_TYPE"
Matthias Clasen [Mon, 14 Sep 2015 15:15:32 +0000 (11:15 -0400)]
Revert "tool button: Use G_DEFINE_TYPE"

This reverts commit 4e56dfad0e33187d019c44ecfb5e7e99cf2da535.

It turns out that GtkToolButton is playing games with the class
pointer inside instance_init, so leave it alone.

10 years agogtk-builder-tool: Don't break GtkHBox and GtkVBox
Matthias Clasen [Mon, 14 Sep 2015 13:38:08 +0000 (09:38 -0400)]
gtk-builder-tool: Don't break GtkHBox and GtkVBox

These classes have different defaults for ::expand than GtkBox,
which is not reflected in the declared default, so we have to
blacklist it.

10 years agogtk-demo: Fix builder example
Matthias Clasen [Mon, 14 Sep 2015 13:35:01 +0000 (09:35 -0400)]
gtk-demo: Fix builder example

This example is still using a GtkVBox, and it happened to be broken
by gtk-builder-tool simplify.

10 years agoUpdated Galician translations
Fran Dieguez [Mon, 14 Sep 2015 14:47:51 +0000 (16:47 +0200)]
Updated Galician translations

10 years agoUpdated Galician translations
Fran Dieguez [Mon, 14 Sep 2015 14:44:48 +0000 (16:44 +0200)]
Updated Galician translations

10 years agowidget: Call size_allocate vfunc directly when possible
Alexander Larsson [Mon, 14 Sep 2015 13:05:37 +0000 (15:05 +0200)]
widget: Call size_allocate vfunc directly when possible

This avoids all the overhead of signal emissions when it is not used.

10 years agodraw: call vfunc rather then emit signal for the common case
Alexander Larsson [Mon, 14 Sep 2015 09:36:43 +0000 (11:36 +0200)]
draw: call vfunc rather then emit signal for the common case

This avoids a lot of overhead in the common case where a signal
is not connected and we're just using the class vfunc (which is true
for all in-libgtk widgets). Additionally it makes backtraces in
debuggers and profiles much much nicer to look at.

https://bugzilla.gnome.org/show_bug.cgi?id=754986

10 years agogtk: Stop setting GDK_EXPOSURE_MASK on random widgets
Alexander Larsson [Mon, 14 Sep 2015 08:56:13 +0000 (10:56 +0200)]
gtk: Stop setting GDK_EXPOSURE_MASK on random widgets

These days exposure happens only on the native windows (generally the
toplevel window) and is propagated down recursively. The expose event
is only useful for backwards compat, and in fact, for double buffered
widgets we totally ignore the event (and non-double buffering breaks
on wayland).

So, by not setting the mask we avoid emitting these events and then
later ignoring them.

We still keep it on eventbox, fixed and layout as these are used
in weird ways that want backwards compat.

10 years agogdkwindow: Avoid list allocation and object refs during repaint
Alexander Larsson [Mon, 14 Sep 2015 07:43:14 +0000 (09:43 +0200)]
gdkwindow: Avoid list allocation and object refs during repaint

There is no need to ref the windows we're ignoring, so collect and ref
only the affected child windows. Also, use a on-stack array rather
than allocating a linked list.

Also, we don't need to ref during the event emissions too, as we
already hold a ref.

https://bugzilla.gnome.org/show_bug.cgi?id=754687

10 years agoUpdated Portuguese translation
Pedro Albuquerque [Mon, 14 Sep 2015 07:31:34 +0000 (07:31 +0000)]
Updated Portuguese translation

10 years agoUpdated Polish translation
Piotr Drąg [Mon, 14 Sep 2015 07:30:30 +0000 (09:30 +0200)]
Updated Polish translation

10 years agoUpdate all ui files again
Matthias Clasen [Mon, 14 Sep 2015 03:26:16 +0000 (23:26 -0400)]
Update all ui files again

Replace translatable="1" by translatable="yes" so
xgettext stays happy and extracts the strings.

10 years agobuilder-tool: Don't simplify translatable="yes"
Matthias Clasen [Mon, 14 Sep 2015 03:24:05 +0000 (23:24 -0400)]
builder-tool: Don't simplify translatable="yes"

It turns out that xgettext does not understand translatable="1",
so don't make gtk-builder-tool produce this, even though
GtkBuilder can parse it just fine.

https://bugzilla.gnome.org/show_bug.cgi?id=754928

10 years agofile chooser: make rows with popovers visible
Matthias Clasen [Fri, 4 Sep 2015 22:26:51 +0000 (18:26 -0400)]
file chooser: make rows with popovers visible

Without this, the popovers are just dangling in the middle of
nowhere.

https://bugzilla.gnome.org/show_bug.cgi?id=754411

10 years agopixelcache: squash warnings introduced by previous commits
Christian Hergert [Sun, 13 Sep 2015 20:40:57 +0000 (13:40 -0700)]
pixelcache: squash warnings introduced by previous commits

10 years agotextview: give pixelcache access to style context
Christian Hergert [Tue, 8 Sep 2015 22:36:07 +0000 (15:36 -0700)]
textview: give pixelcache access to style context

This changes textview to share the style context with the pixelcache.
Doing so allows pixel cache to optimize the surface creation and use
a CAIRO_CONTENT_COLOR instead of CAIRO_CONTENT_COLOR_ALPHA when
appropriate.

https://bugzilla.gnome.org/show_bug.cgi?id=754658

10 years agoviewport: share style context with pixelcache
Christian Hergert [Tue, 8 Sep 2015 22:09:04 +0000 (15:09 -0700)]
viewport: share style context with pixelcache

This allows the pixel cache to opportunistically use CAIRO_CONTENT_COLOR
instead of CAIRO_CONTENT_COLOR_ALPHA during surface creation.

https://bugzilla.gnome.org/show_bug.cgi?id=754658

10 years agopixelcache: use GtkStyleContext to determine cairo_content_t for surface
Christian Hergert [Tue, 8 Sep 2015 21:48:40 +0000 (14:48 -0700)]
pixelcache: use GtkStyleContext to determine cairo_content_t for surface

We can take a fast path if the background for a widget is opaque by using
a CAIRO_CONTENT_COLOR instead of a CAIRO_CONTENT_COLOR_ALPHA surface. Most
blit'ing backends have a fast path for this, including Pixman and Quartz.

https://bugzilla.gnome.org/show_bug.cgi?id=754658

10 years agostylecontext: add opaque background helper
Christian Hergert [Tue, 8 Sep 2015 21:45:51 +0000 (14:45 -0700)]
stylecontext: add opaque background helper

This new private API, _gtk_style_context_is_background_opaque(), is meant to
be used by internal Gtk+ wigets to optimize fast paths for cases where
applicable. One such use would be to use a CAIRO_CONTENT_COLOR surface
instead of CAIRO_CONTENT_COLOR_ALPHA.

https://bugzilla.gnome.org/show_bug.cgi?id=754658

10 years agowayland: Avoid a crash with GtkGLArea
Matthias Clasen [Sun, 13 Sep 2015 18:18:19 +0000 (14:18 -0400)]
wayland: Avoid a crash with GtkGLArea

We must not call gdk_wayland_window_attach_image when
using GL for drawing, this leads to a crash.

https://bugzilla.gnome.org/show_bug.cgi?id=754770

10 years agogdkwindow: Store children list nodes in GdkWindow structure
Alexander Larsson [Thu, 10 Sep 2015 10:57:16 +0000 (12:57 +0200)]
gdkwindow: Store children list nodes in GdkWindow structure

This avoids a bunch of allocations, and additionally it has better
cache behaviour, as we don't follow pointers to the separate GList
node memory areas during traversal.

From Christian Hergert:

  This machine is a Retina mac book pro so I've been working on getting
  GtkTextView (GtkPixelCache) up to our performance level on
  X11/Wayland. I'm seeing a jump from about 43 FPS to about 50 FPS.

https://bugzilla.gnome.org/show_bug.cgi?id=754687

10 years agoplaces sidebar: keep open variants sensitive
Matthias Clasen [Sun, 13 Sep 2015 16:44:17 +0000 (12:44 -0400)]
places sidebar: keep open variants sensitive

Add a separate action for "Open in Tab" and "Open in new window"
so we can keep them enabled when we disable "Open" for the selected
row.

https://bugzilla.gnome.org/show_bug.cgi?id=754410

10 years agoUpdated Slovak translation
Dušan Kazik [Sun, 13 Sep 2015 08:58:00 +0000 (08:58 +0000)]
Updated Slovak translation

10 years agoUpdated Slovak translation
Dušan Kazik [Sun, 13 Sep 2015 08:50:28 +0000 (08:50 +0000)]
Updated Slovak translation

10 years agoDrop GtkWidgetAuxInfo
Matthias Clasen [Sun, 13 Sep 2015 03:56:39 +0000 (23:56 -0400)]
Drop GtkWidgetAuxInfo

Merge it into GtkWidgetPrivate. In my measurements, about half
of all widgets have a non-default auxinfo struct, and we use this
information in size allocation, so it is nice to avoid the gdata
overhead.

10 years agoMove font map to qdata
Matthias Clasen [Sun, 13 Sep 2015 00:58:41 +0000 (20:58 -0400)]
Move font map to qdata

This is very rarely used, lets not reserve space for it
in every widget.

10 years agoMove font options to gdata
Matthias Clasen [Sun, 13 Sep 2015 00:41:45 +0000 (20:41 -0400)]
Move font options to gdata

This is very rarely used, lets not reserve space for it in
every widget.

10 years agoMove action muxer to gdata
Matthias Clasen [Sun, 13 Sep 2015 00:08:56 +0000 (20:08 -0400)]
Move action muxer to gdata

Most widgets don't have their own, and we don't access them
very frequently.

10 years agoMove widget paths to gdata
Matthias Clasen [Sat, 12 Sep 2015 23:50:42 +0000 (19:50 -0400)]
Move widget paths to gdata

We only use widget paths for a few widgets nowadays (notebook,
treeview, pathbar, combobox), so we can save some space by
not having this field in GtkWidgetPrivate.

10 years agocombobox: Stop using old styling code
Benjamin Otte [Sat, 12 Sep 2015 23:52:49 +0000 (01:52 +0200)]
combobox: Stop using old styling code

Instead of get_path_for_child() use CSS nodes.

10 years agoMove template support to qdata
Matthias Clasen [Sat, 12 Sep 2015 23:22:17 +0000 (19:22 -0400)]
Move template support to qdata

The hash table is only accessed at creation and destruction time,
and many widgets don't use templates at all, so no need to have
this permanently occupying space.

10 years agoPack GtkWidgetPrivate a bit better
Matthias Clasen [Sat, 12 Sep 2015 22:54:38 +0000 (18:54 -0400)]
Pack GtkWidgetPrivate a bit better

This makes it shrink from 240 to 232 bytes.

10 years agoUse NULL instead of g_direct_equal
Matthias Clasen [Sat, 12 Sep 2015 22:48:17 +0000 (18:48 -0400)]
Use NULL instead of g_direct_equal

GHashTable has built-in support for pointer comparison.

10 years agoMove GtkWidgetAuxInfo struct to private headers
Matthias Clasen [Sat, 12 Sep 2015 22:36:32 +0000 (18:36 -0400)]
Move GtkWidgetAuxInfo struct to private headers

There's no API returning such a struct, it is entirely internal.
Therefore, don't expose it in public headers.

10 years agoRevert "Avoid type checking overhead for resize-mode"
Benjamin Otte [Sat, 12 Sep 2015 19:27:10 +0000 (21:27 +0200)]
Revert "Avoid type checking overhead for resize-mode"

This reverts commit 3eacfa88f2d9c690a006de9cac1cd3c60901686c.

Apart from the patch not being correct, we don't want to expose private
structures in header files if we can avoid it.
And this type-checking overhead is not an optimization that is even
measurable.

https://bugzilla.gnome.org/show_bug.cgi?id=754932